package com.qingcheng.controller;

import com.alibaba.dubbo.config.annotation.Reference;
import com.qingcheng.service.goods.SkuSearchService;
import com.qingcheng.util.WebUtil;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

@Controller
public class SearchController {
    @Reference
    private SkuSearchService skuSearchService;

    @GetMapping("/search")
    public String search(Model model, @RequestParam Map<String, String> searchMap ){
        try {
            searchMap=WebUtil.convertCharsetToUTF8(searchMap);

            //url处理
            StringBuffer url=new StringBuffer("/search.do?");
            for(String key:searchMap.keySet()){
                url.append("&"+key+"="+searchMap.get(key) );
            }
            model.addAttribute("url",url);

            int pageNo=  Integer.parseInt( searchMap.get("pageNo") );
            model.addAttribute("pageNo",pageNo);

            Map map = skuSearchService.search(searchMap);
            model.addAttribute("searchMap",map);

            //排序
            if(searchMap.get("sort")==null){  //排序字段
                searchMap.put("sort","");
            }
            if(searchMap.get("sortOrder")==null){ //排序规则
                searchMap.put("sortOrder","DESC");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "search";
    }
}
